gesture: Add gtk_gesture_set_state() helper.
authorCarlos Garnacho <carlosg@gnome.org>
Tue, 8 Apr 2014 18:46:26 +0000 (20:46 +0200)
committerCarlos Garnacho <carlosg@gnome.org>
Fri, 23 May 2014 17:54:25 +0000 (19:54 +0200)
This function sets the state on all sequences where it actually
can, just a helper function to avoid iterating over sequences
yourself.

gtk/gtkgesture.c
gtk/gtkgesture.h

index a07ac361eacf67ca60d89b14e0b234b48eda246c..49a1de085cd1cad7f5a68abe20cda012a902905f 100644 (file)
@@ -672,6 +672,28 @@ gtk_gesture_set_sequence_state (GtkGesture            *gesture,
   return TRUE;
 }
 
+gboolean
+gtk_gesture_set_state (GtkGesture            *gesture,
+                       GtkEventSequenceState  state)
+{
+  GdkEventSequence *sequence;
+  gboolean handled = FALSE;
+  GtkGesturePrivate *priv;
+  GHashTableIter iter;
+
+  g_return_val_if_fail (GTK_IS_GESTURE (gesture), FALSE);
+  g_return_val_if_fail (state >= GTK_EVENT_SEQUENCE_NONE &&
+                        state <= GTK_EVENT_SEQUENCE_DENIED, FALSE);
+
+  priv = gtk_gesture_get_instance_private (gesture);
+  g_hash_table_iter_init (&iter, priv->points);
+
+  while (g_hash_table_iter_next (&iter, (gpointer*) &sequence, NULL))
+    handled |= gtk_gesture_set_sequence_state (gesture, sequence, state);
+
+  return handled;
+}
+
 /**
  * gtk_gesture_get_sequences:
  * @gesture: a #GtkGesture
index 21e70261d94e479c7c838f5e6e4ff95d6e43d4b9..e5976d1381c286e6e251ace8984a01cdd8e2dfdd 100644 (file)
@@ -74,10 +74,13 @@ GType       gtk_gesture_get_type             (void) G_GNUC_CONST;
 GDK_AVAILABLE_IN_3_14
 GdkDevice * gtk_gesture_get_device           (GtkGesture       *gesture);
 
+GDK_AVAILABLE_IN_3_14
+gboolean    gtk_gesture_set_state            (GtkGesture            *gesture,
+                                              GtkEventSequenceState  state);
 GDK_AVAILABLE_IN_3_14
 GtkEventSequenceState
-            gtk_gesture_get_sequence_state   (GtkGesture       *gesture,
-                                              GdkEventSequence *sequence);
+            gtk_gesture_get_sequence_state   (GtkGesture            *gesture,
+                                              GdkEventSequence      *sequence);
 GDK_AVAILABLE_IN_3_14
 gboolean    gtk_gesture_set_sequence_state   (GtkGesture            *gesture,
                                               GdkEventSequence      *sequence,